import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'

// src别名的配置
const resolve = (dir) => path.join(__dirname, dir)

// 移除 chainWebpack 部分，因为 Vite 2.x 不支持这个选项
// 但是，我们将在这里处理 SVG 相关的配置
export default defineConfig({
  envDir: './viteenv',
  plugins: [
    vue(),
    // * 使用 svg 图标
    createSvgIconsPlugin({
      // Specify the icon folder to be cached
      iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
      // Specify symbolId format
      symbolId: 'icon-[dir]-[name]',
    }),
  ],
  resolve: {
    alias: {
      '@': resolve('src'),
    },
  },
  css: {
    preprocessorOptions: {
      scss: {
        javascriptEnabled: true,
        additionalData: '@import "./src/styles/variable.scss";',
      },
    },
  },
  server: {
    host: 'localhost',
    port: 7600,
    cors: true,
  },
  build: {
    target: 'es2015', // 或根据需要调整目标ES版本
    rollupOptions: {
      external: ['vue', 'mavon-editor'], // 外部化依赖，防止打包进bundle
    },
  },
})
